# Python字符串搜索——rfind妙趣之旅!

# [钛妹]: 基础不牢谈何AI？今天钛妹又学习了Python的rfind方法，欢迎大神们指正错误！
# [钛哥]: 啧啧，看来又有新技能要点亮了，速来围观！
# [钛妹]: 那就开始吧，别卖关子了！

txt1 = "Mi casa, su casa."

# [钛妹]: 这句里“casa”明明出现了两次，该怎么找最后一次出现的索引呢？
# [钛哥]: 很简单，看我用rfind()方法演示一下！

pos1 = txt1.rfind("casa")
print("示例1 - 最后一次出现'casa'的索引位置:", pos1)

# [钛妹]: 嗯，原来它直接返回了最后一次出现的位置，真方便！
# [钛哥]: 是的，下面再试试单个字符的查找，比如在这句话里找“e”：

txt2 = "Hello, welcome to my world."

pos2 = txt2.rfind("e")
print("示例2 - 最后一次出现'e'的索引位置:", pos2)

# [钛妹]: 如果想限定搜索范围只在5到10之间呢？
# [钛哥]: 那就给rfind()传入start和end参数，演示如下：

pos3 = txt2.rfind("e", 5, 10)
print("示例3 - 在索引[5,10]范围内搜索'e'的索引位置:", pos3)

# [钛妹]: 如果找不到指定的内容会怎样？
# [钛哥]: 找不到就返回-1。来，咱们试试查找不存在的“q”：

pos4 = txt2.rfind("q")
print("示例4 - 查找'q'的返回值:", pos4)

# [钛哥]: 另外，rindex()找不到会抛出异常，比如下面这个会报错:
print(txt2.rindex("q"))

# [钛妹]: 好的，今天演示还挺多。能不能总结下？
# [钛哥]: 没问题！
#         1. rfind()返回最后一次出现指定子字符串的索引位置；
#         2. 可以指定搜索的起始和结束位置；
#         3. 如果找不到则返回-1，而rindex()会抛出异常。

# [钛妹]: 明白了，非常实用的一个方法！

# [钛哥]: 下面就用print函数来给我们的课程结尾来一波互动吧！
print("好啦，这期内容到此结束，你是不是感觉又进步了一点点？点赞关注不迷路！")